package com.fourWork.workOne;

import java.io.Serializable;
import java.util.List;

/**
 * 使用 List 集合实现简易的学生信息管理系统，要求打印字符界面提示用户选择相应的功 能，根据用户输入的选择去实现增加、删除、修改、查找以及遍历所有学生信息的功能。
 * <p>
 * 其中学生的信息有：学号、姓名、年龄。 要求： 尽量将功能拆分为多个.java 文件。
 */
public class Student  implements Serializable{

    private static final long serialVersionUID = 8103442333953943102L;
    //声明学号
    private int student_id;
    //声明姓名
    private String student_name;
    //声明年龄
    private int student_age;

    //生成无参构造函数
    public Student() {
    }
    public Student(List<String> stringList){

    }

    //生成有参构造函数
    public Student(int student_id, String student_name, int student_age) throws StudentIdException, StudentAgeException {
        setStudent_id(student_id);
        setStudent_name(student_name);
        setStudent_age(student_age);
    }

    public int getStudent_id() {
        return student_id;
    }

    public void setStudent_id(int student_id) throws StudentIdException {
        //if判断，如果学生编号小于0时抛出异常
        if (student_id > 0) {
            this.student_id = student_id;
        } else {
                //调用异常类
                throw new StudentIdException("学号不合理，必须大于或等于0");

        }
    }

    public String getStudent_name() {
        return student_name;
    }

    public void setStudent_name(String student_name) {
        this.student_name = student_name;
    }

    public int getStudent_age() {
        return student_age;
    }

    public void setStudent_age(int student_age) throws StudentAgeException {
        //if判断，如果学生年龄小于0大于150时抛出异常
        if (student_age > 0 && student_age < 150) {
            this.student_age = student_age;
        } else {

                //调用异常类
                throw new StudentAgeException("年龄不合理");

        }
    }

    @Override
    public String toString() {
        return "学生编号：" + getStudent_id() + "  姓名：" + getStudent_name() + "  年龄：" + getStudent_age();
    }

}
